Reactivity: Proxyオブジェクトを理解する
どうにかしてステートが変更された時に updateComponent を実行したい
-> Proxy と呼ばれるオブジェクトを使う!
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Proxy
使い型
code: typescript
const o = new Proxy({value: 1}, {})
console.log(o.value) // 1
普通のオブジェクトのように動作する
第二引数にオブジェクトの操作に対するハンドラを登録することができる。
code: typescript
const o = new Proxy(
{ value: 1, value2: 2}
{
get(target, key, receiver) {
console.log(target: ${target}, key: ${key})
return targetkey
}
}
)
↑ オブジェクトのプロパティにアクセス(get) した際に、log出力されるようになっている
code: typescript
const o = new Proxy(
{ value: 1, value2: 2 },
{
set(target, key, value, receiver) {
console.log('hello from setter')
targetkey = value
return true
},
},
)
↑ オブジェクトのプロパティの値を更新(set)する際も同様